$.list= $.wrapper()
$.list.prototype=
{   init: function( vals ){
        this.$= vals
        this.hash= $.hash( vals )
        return this
    }
,   init0: function( ){
        return this.init( [] )
    }
,   each: function( proc, self ){
        var vals= this.$
        if( vals.each ) return vals.each( proc, self || this )
        this.hash.each( function( pair ){
            if( !vals.hasOwnProperty( pair.key ) ) return
            return proc.call( this, pair )
        }, self || this )
        return this
    }
,   get: function( name ){
        return this.hash.get( name )
    }
,   set: function( pair ){
        this.hash.set( pair )
        return this
    }
,   merge: function( list ){
        var vals= this.$
        if( vals.merge ) return vals.merge( list )
        $.list( list ).each( function( pair ){
            vals.push( pair.val )
        } )
        return this
    }
,   destroy: function(){
        delete this.$
    }
}